LabVIEW通道线简介 您所在的位置:网站首页 labview并行while循环 传送数据 LabVIEW通道线简介

LabVIEW通道线简介

2024-06-28 08:50| 来源: 网络整理| 查看: 265

可使用LabVIEW提供的通道模板创建应用程序。每种模板表示不同的通信协议。如果您正在编写实时或FPGA程序,可用的串流将略有不同(有关RT或FPGA程序可用的特定模板,请参见LabVIEW帮助中的通道线。)

串流 

串流通道线类似于队列:一组无损缓冲的值串流只能有一个读取方与一个写入方,而且串流通道线不允许分叉。缓冲区中的数据传输使用“先进先出”(FIFO)的数据结构。元素保存在缓冲区中,且数据进入缓冲区的顺序和从缓冲区读取数据的顺序一致。串流通道线的示例如图1所示。

图1: 串流通道线

注意:本图为一段LabVIEW程序,其中包含可在项目中复用的LabVIEW代码。要使用该代码段,请右键单击图像,将其保存到计算机,然后将文件拖拽至LabVIEW程序框图上。  

消息器

消息器是支持“多对多”通信的缓冲通道线,适用于应用程序内发送“类似命令”消息。 消息器通道有多个写入方和读取方,可按重要的方式交织消息供读取方端点进行解析。 图3表示为消息器通道,其中多个写入器交织消息后发送给读取方。

图2: 消息器通道

Tag

Tag通道类似于变量:代码可读取或写入的单个值。Tag是一个单元素的有损缓冲区,供多个读取方或写入方访问最近写入该缓冲区的数据值。

应用程序如只需要将最新的数据值提供给等待的并行循环(即之前的数据是否丢失不重要),则考虑使用Tag通道。Tag通道线的示例如图3所示。

图3: Tag通道

Tag通道不会消除变量编程中固有的所有编程风险。您仍然可以使用Tag创建“读取-修改-写入”竞争状态。为了避免这种情况,请始终使用Tag通道将数据从一个循环传输到另一个循环,且始终避免使用同一个循环读取和写入值。这种类似变量的编程方法看起来容易,但是测试较为困难,程序可能会发生随机错误。 

其他通道模板

串流消息器Tag囊括了大部分数据传输需求。但LabVIEW可提供下列专门的通道:

累加器Tag:一个变量,可跟踪多个写入方写入值的总和,然后发送给多个读取方。高速串流:一种串流通道线,支持更高吞吐量,但是不具备一般串流通道的某些功能。有损串流:一种串流通道线,在缓冲区已满时允许丢弃部分数据。单元素串流:一种串流通道线,为缓冲区大小为1的情况而优化;当缓冲区已满时,写入方端点将等待。事件消息器: 从多个写入方传输消息的通道线,每次写入都会触发一个事件。

根据应用程序的需要选择最为合适的数据传输协议。更多详细信息,请参考位于labview\examples\Channels中不同通道模板的范例。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有